/**
 * This class extends User and holds all the information relevant to a
 * customers account.
 */
public class Customer extends User {

    private String company;
    private String companyAddress;
    private String shippingAddress;

    /**
     * Default constructor
     */
    public Customer() {
        this(-1, "", "", "", "", "");
    }

    /**
     * More detailed constructor: sets all customer information on creation
     *
     * @param userId
     * @param name
     * @param emailAddress
     * @param company
     * @param companyAddress
     * @param shippingAddress
     */
    public Customer(int userId, String name, String emailAddress,
            String company, String companyAddress, String shippingAddress) {
        super(userId, name, emailAddress);
        this.company = company;
        this.companyAddress = companyAddress;
        this.shippingAddress = shippingAddress;
    }

    /**
     * @return Returns the company name
     */
    public String getCompany () {
        return company;
    }

    /**
     * Sets the company name
     *
     * @param company
     */
    public void setCompany (String val) {
        this.company = val;
    }

    /**
     * @return Returns the company address
     */
    public String getCompanyAddress () {
        return companyAddress;
    }

    /**
     * Sets the company address
     *
     * @param val The company address
     */
    public void setCompanyAddress (String val) {
        this.companyAddress = val;
    }

    /**
     * @return Returns the shipping address
     */
    public String getShippingAddress () {
        return shippingAddress;
    }

    /**
     * Sets the shipping address
     *
     * @param val The shipping address
     */
    public void setShippingAddress (String val) {
        this.shippingAddress = val;
    }

}
